1. Field of the Invention
The present invention relates to digital communications, and, in particular, to a method for configuring a digital subscriber line (DSL) modem to a DSL connection.
2. Description of the Related Art
Digital subscriber line (DSL) modems are widely used in digital communications systems for Internet access. Historically, DSL modems, which are installed in the customer premises equipment (CPE), have been provided by the same entity that controls the central office (i.e., head-end) equipment, allowing the modem driver to be programmed for the network-layer protocol (i.e., transmission mode) that is used at the head end. However, as DSL modems are marketed by entities that do not control the head-end equipment, the DSL modem driver must be configured during installation for the network-layer protocol used at the head end.
Currently, there are three protocols that are used for wide area network (WAN) connections (e.g., dial-up connections), and four protocols that are used for local area network (LAN) connections. According to the prior art, when installing a new DSL modem, a user must know a priori which particular protocol is used at the head end, in order to correctly configure his/her DSL modem so that it will connect to the head end. One method for determining the protocol used at the head end is to contact the entity that controls the head-end equipment. However, this solution is undesirable, because it can cause delays in DSL modem installation, and it can result in expenses incurred for service calls. Another problem is that some clients may not be capable of or even want to perform the task of configuring a DSL modem driver for the head-end protocol. Yet another problem is that when a DSL modem cannot be configured properly, a user may not be able to determine whether the problem is the wrong protocol or inadequate physical-layer settings.
The present invention is directed to a technique for automatically detecting the network-layer protocol used by the protocol layer at the head end of a DSL connection and automatically setting the driver configuration for that protocol. According to the present invention, the DSL modem driver is set to one of the possible protocols for the type of driver being used (e.g., WAN or LAN) and attempts to connect to a server at the head end. If a response is received from the head end, then the application reads the headers on the responsive message to determine whether the protocol at the head end is consistent with the current protocol. If the protocols are consistent, then the settings are loaded onto the driver. If no response is received from the head end when the application attempts to connect to the server, then the application initiates a series of commands for the purpose of eliciting a response from the head end. If the protocols are not consistent or no response is elicited, then the DSL modem is set to another protocol, and another attempt is made to connect to the server at the head end. These steps are repeated until either the correct head-end protocol is found or the possible protocols are exhausted.
The present invention can detect the network-layer protocol used at the head end of a DSL and set a modem driver configuration for that protocol. Using the present invention, a DSL modem can be installed without knowing a priori the protocol used at the head end. Nor does the user need to make a service call to determine the head-end protocol. Under the present invention, multiple protocols can be tested without the need. to re-start or re-boot the system (except when switching between LAN and WAN modes, in which case the system would need to be re-started).
In one embodiment, the present invention is a method, implemented by customer premises equipment (CPE), for automatically and remotely determining a digital subscriber line (DSL) network-layer protocol of a head end of a DSL link between the CPE and the head end, comprising the steps of (a) attempting to initiate a DSL connection over the DSL link to the head end using a selected DSL protocol; (b) determining whether the selected DSL protocol is the DSL protocol of the head end based on results of step (a); and (c) if the selected DSL protocol is not the DSL protocol of the head end, then selecting an other DSL protocol and repeating steps (a) and (b).
In another embodiment, the present invention is a method, implemented by CPE, for automatically and remotely determining a DSL network-layer protocol of a head end of a DSL link between the CPE and the head end, comprising the steps of (a) reading one or more protocol-layer headers of one or more communications received from the head end; and (b) determining the DSL protocol at the head end based upon the results of step (a).